/**
 * Created by ecervetti on 06/03/2014.
 */

var Trajectoire = function(duck) {
    this.duck = duck ;
};

Trajectoire.prototype = {
        toI : null , //destination I attendue
        toJ : null , //destination J attendue
        VoriginI : 0 , //vitesse abscisse
        VoriginJ : 0 , //vitesse ordonnée
        t:0, //temps dans la trajectoire;
        originI:0,
        originJ:0,
        ready:false,
        maximum:0,
        duck : null };

Trajectoire.prototype.calc = function(t) {
        var thisDuck = this.duck ;
        var trajectoire = this;
        return {
            x:  t*trajectoire.VoriginI + trajectoire.originI ,
            y:  trajectoire.originJ + t*trajectoire.VoriginJ  -thisDuck.univers.g*t*t/2
        }
    };

/**
 *
 * @returns {Coords}
 */
Trajectoire.prototype.getControlPoint = function() {
    return new Coords(
        this.originI+(this.toI-this.originI)/2,
        this.originJ+(this.VoriginJ/this.VoriginI)*(this.toI-this.originI)/2
    );
};

Trajectoire.prototype.resolve = function(t)  {
        var thisDuck = this.duck ;
        var trajectoire = this ;
        trajectoire.VoriginI = (trajectoire.toI -thisDuck.i ) /t ;
        trajectoire.VoriginJ = (trajectoire.toJ -thisDuck.j + thisDuck.univers.g*t*t/2 ) /t ;
        trajectoire.originI = thisDuck.i ;
        trajectoire.originJ = thisDuck.j ;
        trajectoire.t = 0 ;
        trajectoire.totalTime = t ;
        trajectoire.ready = false ;
        trajectoire.maximum = trajectoire.originJ + (t/2)*trajectoire.VoriginJ  -thisDuck.univers.g*(t*t/8);
    };




